package com.zsc.edu.gateway.modules.iot.device.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

import java.util.List;
import java.util.Map;

/**
 * @author yao
 */
@Data
@EqualsAndHashCode(callSuper = false)
@AllArgsConstructor
@NoArgsConstructor
public class BatchDeviceDto {

    /**
     * 设备数量
     */
    @NotNull
    private Integer num;

    /**
     * 设备前缀
     */
    @NotBlank(message = "前缀不能为空")
    private String prefix;
    /**
     * 扩展属性
     */
    private List<Map<String, Object>> extendParams;
    /**
     * 设备物模型属性
     */
    private List<Map<String, Object>> properties;
    /**
     * 固件版本
     */
    private String firmwareVersion;
    /**
     * 硬件版本
     */
    private String hardwareVersion;
    /**
     * 所属产品
     */
    @NotBlank(message = "所属产品不为空")
    private Long productId;
    /**
     * 备注
     */
    private String remark;

    /**
     * 图标
     */
    public String iconId;

    /**
     * 预览图
     */
    public String previewId;

}
